<?
function DBInsert($table,$fields,$values=Array(),$error_handle=true)
{
	if(sizeof($values)==0) {$values=$fields;$fields=array_keys($values);}
	$fields_str ='';
	$values_str ='';
	foreach($fields as $field)
	{
		if($fields_str)$fields_str.=',';
		if($values_str)$values_str.=',';
		$fields_str.=$field;
		$values_str.="'".$values[$field]."'";
	}
	//Cache::clear($table,0);
	mysql_query("insert into $table ($fields_str) values ($values_str)");
	$newid = mysql_insert_id();
	return $newid;
}


function DBUpdate($table,$fields,$values,$error_handle=true)
{
	$fields_str ='';
	foreach($fields as $field)
	{
		if($field!='id')
		{
			if($fields_str)$fields_str.=',';
			$fields_str.=$field."='".$values[$field]."'";
		}
	}
	//Cache::clear($table,$values['id']);
	mysql_query("update $table set $fields_str where id='".$values['id']."'");
}

function DBClearTableCache($table)
{
	//Cache::clear($table,-1);
}

function DBDelete($table,$condition)
{
	//Cache::clear($table,-1);
	mysql_query("delete from $table where $condition");
}

function DBGetRows($sql)
{
	$ret=Array();
	$res = mysql_query($sql);
	DBError($sql);
	while($row = mysql_fetch_array($res))
	{
		$ret[] = $row;
	}
	return $ret;
}

function DBSingleRow($sql)
{
	$res = mysql_query($sql);
	DBError($sql);
	if($row = mysql_fetch_array($res))
	{
		return $row;
	}
	return false;
}

function DBHashRow($sql)
{
	$res = mysql_query($sql);
	if(mysql_error()) DBError($sql);
	if($row = mysql_fetch_assoc($res))
	{
		return $row;
	}
	return false;
}

function HashedSelect($sql)
{
	$ret=Array();
	$res = mysql_query($sql);
	DBError($sql);
	while($row = mysql_fetch_array($res))
	{
		$ret[$row[0]] = $row[1];
	}
	return $ret;
}

function DBGetArray($sql)
{
	$ret=Array();
	$res = mysql_query($sql);
	if(mysql_error()) DBError($sql);
	while($row = mysql_fetch_array($res))
	{
		$ret[] = $row[0];
	}
	return $ret;
}

function ScalarSelect($sql)
{
	$ret=Array();
	$res = mysql_query($sql);
	DBError($sql);
	if($row = mysql_fetch_array($res))
	{
		return $row[0];
	}
	return '';
}

function DBError($sql)
{
	if(mysql_error())
	{
		echo $sql."<br>";
		echo mysql_error()."<br>";
		if(DEBUG_MODE) debug_print_backtrace();
	}
}
